package com.rightsidetech.system.service;

import com.github.pagehelper.PageInfo;
import com.rightsidetech.commom.base.ResponseData;
import com.rightsidetech.commom.service.IService;
import com.rightsidetech.system.dtos.request.agent.AddAgentInfoReq;
import com.rightsidetech.system.dtos.request.agent.AgentInfoReq;
import com.rightsidetech.system.dtos.request.agent.AreaAgentListReq;
import com.rightsidetech.system.dtos.request.agent.UpdateAgentInfoReq;
import com.rightsidetech.system.dtos.request.store.ActAreaAgentStoreReq;
import com.rightsidetech.system.dtos.response.agent.*;
import com.rightsidetech.system.dtos.response.store.ActAgentResp;
import com.rightsidetech.system.dtos.response.store.ActAreaAgentStoreResp;

import java.util.List;

/**
 * @Package: com.rightsidetech.system.service
 * @ClassName: AgentInfoService
 * @Author: yinj
 * @CreateTime: 2021/10/26 11:35
 * @Description:
 */
public interface AgentInfoService extends IService<AgentInfoResp,Long> {
    ResponseData<PageInfo<AgentInfoResp>> page(AgentInfoReq request);

    ResponseData add(AddAgentInfoReq req, Long loginInfoId);

    ResponseData update(UpdateAgentInfoReq req, Long loginInfoId);

    ResponseData open(Long id, Byte status,Long loginInfoId);

    ResponseData del(Long id, Long loginInfoId);

    ResponseData<List<AgentSearchResp>> search(String content,Long areaId);

    List<AgentInfoResp> exportAgentList(AgentInfoReq req);

    List<AgentListResp> findAgentByAreaOrAgentId(AreaAgentListReq request);

    List<AreaAgentListResp> findAreaByAreaOrAgentId(AreaAgentListReq request);
    List<Long> selectAllAgentId();

    ResponseData<List<AgentSearchResp>> searchOpen(String content,Long areaId);

    List<ActAgentResp> selectAgentList(ActAreaAgentStoreReq req);

    List<ActAreaAgentStoreResp> selectAreaList(ActAreaAgentStoreReq req);
}
